package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;

/**
 * 工程师FSE计划详情 工程师FSE计划详情对象 st_plan_details
 * 
 * @author ruoyi
 * @date 2020-03-03
 */
@ApiModel(value="PlanDetails",description="工程师FSE计划详情实体") // 用来描述封装的参数对象与返回的参数对象
//@JsonInclude(JsonInclude.Include.NON_NULL)
public class PlanDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty(value = "主键",name="id",required = true,dataType="Long",example="主键")
    private Long id;

    /** 服务派单主键ID */
    @Excel(name = "服务派单主键ID")
    @ApiModelProperty(value = "服务派单主键ID",name="serviceNoticeId",required = true,dataType="Long",example="服务派单主键ID")
    private Long serviceNoticeId;

    /** 服务通知号（服务通知主键） */
    @Excel(name = "服务通知号", readConverterExp = "服=务通知主键")
    @ApiModelProperty(value = "服务通知号",name="serviceNo",required = true,dataType="String",example="服务通知号")
    private String serviceNo;

    /** 工程师FSE的主键ID */
    @Excel(name = "工程师FSE的主键ID")
    @ApiModelProperty(value = "工程师FSE的主键ID",name="fseId",required = true,dataType="String",example="工程师FSE的主键ID")
    private String fseId;

    /** 工程师姓名 */
    @Excel(name = "工程师姓名")
    @ApiModelProperty(value = "工程师姓名",name="fseName",required = true,dataType="String",example="工程师姓名")
    private String fseName;

    /** 手机唯一表示用于推送 */
    @Excel(name = "手机唯一表示用于推送")
    @ApiModelProperty(value = "手机唯一表示用于推送",name="phoneUuid",required = true,dataType="String",example="手机唯一表示用于推送")
    private String phoneUuid;

    /** 是否接受 0拒绝 1接受 */
    @Excel(name = "是否接受 0拒绝 1接受")
    @ApiModelProperty(value = "是否接受 0拒绝 1接受",name="isAccept",required = true,dataType="String",example="是否接受 0拒绝 1接受")
    private String isAccept;

    /** 拒绝理由 */
    @Excel(name = "拒绝理由")
    @ApiModelProperty(value = "拒绝理由",name="refusalReasons",required = true,dataType="String",example="拒绝理由")
    private String refusalReasons;

    /** 预计上门时间 */
    @Excel(name = "预计上门时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "预计上门时间",name="estimatedVisitingTime",required = true,dataType="Date",example="预计上门时间")
    private Date estimatedVisitingTime;

    /** 预计工时 */
    @Excel(name = "预计工时")
    @ApiModelProperty(value = "预计工时",name="estimatedWorkingHours",required = true,dataType="String",example="预计工时")
    private String estimatedWorkingHours;

    /** 预计离开时间 */
    @Excel(name = "预计离开时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "预计离开时间",name="estimatedDepartureTime",required = true,dataType="Date",example="预计离开时间")
    private Date estimatedDepartureTime;

    /** 是否借用备件 0未借用 1已借用 */
    @Excel(name = "是否借用备件 0未借用 1已借用")
    @ApiModelProperty(value = "是否借用备件 0未借用 1已借用",name="isBorrow",required = true,dataType="String",example="是否借用备件 0未借用 1已借用")
    private String isBorrow;

    /** 是否需要上门服务 0不需要 1需要 */
    @Excel(name = "是否需要上门服务 0不需要 1需要")
    @ApiModelProperty(value = "是否需要上门服务 0不需要 1需要",name="isDoor",required = true,dataType="String",example="是否需要上门服务 0不需要 1需要")
    private String isDoor;

    /** 是否签到 0未签到 1已签到 */
    @Excel(name = "是否签到 0未签到 1已签到")
    @ApiModelProperty(value = "是否签到 0未签到 1已签到",name="signIn",required = true,dataType="String",example="是否签到 0未签到 1已签到")
    private String signIn;

    /** 签到时间 */
    @Excel(name = "签到时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "签到时间",name="signInTime",required = true,dataType="Date",example="签到时间")
    private Date signInTime;

    /** 签到经度 */
    @Excel(name = "签到经度")
    @ApiModelProperty(value = "签到经度",name="signInLon",required = true,dataType="Double",example="签到经度")
    private Double signInLon;

    /** 签到纬度 */
    @Excel(name = "签到纬度")
    @ApiModelProperty(value = "签到纬度",name="signInLat",required = true,dataType="Double",example="签到纬度")
    private Double signInLat;

    /** 签到提醒推送 0未推送 1已推送 */
    @Excel(name = "签到提醒推送 0未推送 1已推送")
    @ApiModelProperty(value = "签到提醒推送 0未推送 1已推送",name="signInPush",required = true,dataType="String",example="签到提醒推送 0未推送 1已推送")
    private String signInPush;

    /** 签到提醒推送时间 */
    @Excel(name = "签到提醒推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "签到提醒推送时间",name="signInPushTime",required = true,dataType="Date",example="签到提醒推送时间")
    private Date signInPushTime;

    /** 是否签离 0未签离 1已签离 */
    @Excel(name = "是否签离 0未签离 1已签离")
    @ApiModelProperty(value = "是否签离 0未签离 1已签离",name="signOff",required = true,dataType="String",example="是否签离 0未签离 1已签离")
    private String signOff;

    /** 签离时间 */
    @Excel(name = "签离时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "签离时间",name="signOffTime",required = true,dataType="Date",example="签离时间")
    private Date signOffTime;

    /** 签离经度 */
    @Excel(name = "签离经度")
    @ApiModelProperty(value = "签离经度",name="signOffLon",required = true,dataType="Double",example="签离经度")
    private Double signOffLon;

    /** 签离纬度 */
    @Excel(name = "签离纬度")
    @ApiModelProperty(value = "签离纬度",name="signOffLat",required = true,dataType="Double",example="签离纬度")
    private Double signOffLat;

    /** 签离提醒推送 0未推送 1已推送 */
    @Excel(name = "签离提醒推送 0未推送 1已推送")
    @ApiModelProperty(value = "签离提醒推送 0未推送 1已推送",name="signOffPush",required = true,dataType="String",example="签离提醒推送 0未推送 1已推送")
    private String signOffPush;

    /** 签离提醒推送时间 */
    @Excel(name = "签离提醒推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "签离提醒推送时间",name="signOffPushTime",required = true,dataType="Date",example="签离提醒推送时间")
    private Date signOffPushTime;

    /** 是否填写工作日志 0未填写 1已填写 */
    @Excel(name = "是否填写工作日志 0未填写 1已填写")
    @ApiModelProperty(value = "是否填写工作日志 0未填写 1已填写",name="fillInLog",required = true,dataType="String",example="是否填写工作日志 0未填写 1已填写")
    private String fillInLog;

    /** 工作日志填写时间 */
    @Excel(name = "工作日志填写时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "工作日志填写时间",name="fillInLogTime",required = true,dataType="Date",example="工作日志填写时间")
    private Date fillInLogTime;

    /** 工作日志填写提醒推送 0未推送 1已推送 */
    @Excel(name = "工作日志填写提醒推送 0未推送 1已推送")
    @ApiModelProperty(value = "工作日志填写提醒推送 0未推送 1已推送",name="fillInLogPush",required = true,dataType="String",example="工作日志填写提醒推送 0未推送 1已推送")
    private String fillInLogPush;

    /** 推送次数 */
    @Excel(name = "推送次数")
    @ApiModelProperty(value = "推送次数",name="fillInLogPushNum",required = true,dataType="Long",example="推送次数")
    private Long fillInLogPushNum;

    /** 每次推送的时间 更新此字段 */
    @Excel(name = "每次推送的时间 更新此字段", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "每次推送的时间 更新此字段",name="fillInLogPushTime",required = true,dataType="Date",example="每次推送的时间 更新此字段")
    private Date fillInLogPushTime;

    /** 统一的一个状态 默认0待接受，1已接受，2已签到，3已签离，4已完成,5电话解决 */
    @Excel(name = "统一的一个状态 默认0待接受，1已接受，2已签到，3已签离，4已完成,5电话解决")
    @ApiModelProperty(value = "统一的一个状态 默认0待接受，1已接受，2已签到，3已签离，4已完成,5电话解决",name="state",required = true,dataType="String",example="统一的一个状态 默认0待接受，1已接受，2已签到，3已签离，4已完成,5电话解决")
    private String state;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）",name="delFlag",required = true,dataType="String",example="删除标志（0代表存在 2代表删除）")
    private String delFlag;

    /** 服务角色 1现场服务 2实习 */
    @ApiModelProperty(value = "服务角色 1现场服务 2实习",name="serviceRole",required = true,dataType="String",example="服务角色 1现场服务 2实习")
    private String serviceRole;

    @ApiModelProperty(value = "接受时间",name="acceptTime",required = true,dataType="Date",example="接受时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date acceptTime;

    @ApiModelProperty(value = "待上门推送 0未推送 1已推送",name="doorInPush",required = true,dataType="String",example="待上门推送 0未推送 1已推送")
    private String doorInPush;
    @ApiModelProperty(value = "待上门推送时间",name="doorInPushTime",required = true,dataType="Date",example="待上门推送时间")
    private Date doorInPushTime;
    @ApiModelProperty(value = "签到提醒推送 0未推送 1已推送",name="signInPush1",required = true,dataType="String",example="签到提醒推送 0未推送 1已推送")
    private String signInPush1;

    /** 签到提醒推送时间 */
    @Excel(name = "签到提醒推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "签到提醒推送时间",name="signInPushTime1",required = true,dataType="Date",example="签到提醒推送时间")
    private Date signInPushTime1;

    @Excel(name = "签离提醒推送 0未推送 1已推送")
    @ApiModelProperty(value = "签离提醒推送 0未推送 1已推送",name="signOffPush1",required = true,dataType="String",example="签离提醒推送 0未推送 1已推送")
    private String signOffPush1;

    /** 签离提醒推送时间 */
    @Excel(name = "签离提醒推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "签离提醒推送时间",name="signOffPushTime1",required = true,dataType="Date",example="签离提醒推送时间")
    private Date signOffPushTime1;

    @Excel(name = "自动签离提醒推送 0未推送 1已推送")
    @ApiModelProperty(value = "自动签离提醒推送 0未推送 1已推送",name="signOffAutoPush",required = true,dataType="String",example="自动签离提醒推送 0未推送 1已推送")
    private String signOffAutoPush;

    /** 签离提醒推送时间 */
    @Excel(name = "自动签离提醒推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "自动签离提醒推送时间",name="signOffPushAutoTime",required = true,dataType="Date",example="自动签离提醒推送时间")
    private Date signOffAutoPushTime;







    @ApiModelProperty(value = "每一个状态返回的数量",name="state",required = true,dataType="String",example="每一个状态返回的数量")
    private String stateCount;

    @ApiModelProperty(value = "客户名称",name="customerName",required = true,dataType="String",example="客户名称")
    private String customerName;


    @ApiModelProperty(value = "签离推送时间 0未推送 1已推送",name="signOffPushFlag",required = true,dataType="String",example="签离推送时间 0未推送 1已推送")
    private String signOffPushFlag;

    /** 工作计划—服务通知的数量 */
    private String countNum;

    /** 多个工作计划id，逗号分隔 */
    private String planIds;

    private String subServiceType;
    private String hopeBusinessHours;
    private Double signOffAutoHour;
    public String getSubServiceType() {
        return subServiceType;
    }

    public void setSubServiceType(String subServiceType) {
        this.subServiceType = subServiceType;
    }

    public String getHopeBusinessHours() {
        return hopeBusinessHours;
    }

    public void setHopeBusinessHours(String hopeBusinessHours) {
        this.hopeBusinessHours = hopeBusinessHours;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setServiceNoticeId(Long serviceNoticeId) 
    {
        this.serviceNoticeId = serviceNoticeId;
    }

    public Long getServiceNoticeId() 
    {
        return serviceNoticeId;
    }
    public void setServiceNo(String serviceNo) 
    {
        this.serviceNo = serviceNo;
    }

    public String getServiceNo() 
    {
        return serviceNo;
    }
    public void setFseId(String fseId) 
    {
        this.fseId = fseId;
    }

    public String getFseId() 
    {
        return fseId;
    }
    public void setFseName(String fseName) 
    {
        this.fseName = fseName;
    }

    public String getFseName() 
    {
        return fseName;
    }
    public void setPhoneUuid(String phoneUuid) 
    {
        this.phoneUuid = phoneUuid;
    }

    public String getPhoneUuid() 
    {
        return phoneUuid;
    }
    public void setIsAccept(String isAccept) 
    {
        this.isAccept = isAccept;
    }

    public String getIsAccept() 
    {
        return isAccept;
    }
    public void setRefusalReasons(String refusalReasons) 
    {
        this.refusalReasons = refusalReasons;
    }

    public String getRefusalReasons() 
    {
        return refusalReasons;
    }
    public void setEstimatedVisitingTime(Date estimatedVisitingTime) 
    {
        this.estimatedVisitingTime = estimatedVisitingTime;
    }

    public Date getEstimatedVisitingTime() 
    {
        return estimatedVisitingTime;
    }
    public void setEstimatedWorkingHours(String estimatedWorkingHours) 
    {
        this.estimatedWorkingHours = estimatedWorkingHours;
    }

    public String getEstimatedWorkingHours() 
    {
        return estimatedWorkingHours;
    }
    public void setEstimatedDepartureTime(Date estimatedDepartureTime) 
    {
        this.estimatedDepartureTime = estimatedDepartureTime;
    }

    public Date getEstimatedDepartureTime() 
    {
        return estimatedDepartureTime;
    }
    public void setIsBorrow(String isBorrow) 
    {
        this.isBorrow = isBorrow;
    }

    public String getIsBorrow() 
    {
        return isBorrow;
    }
    public void setIsDoor(String isDoor) 
    {
        this.isDoor = isDoor;
    }

    public String getIsDoor() 
    {
        return isDoor;
    }
    public void setSignIn(String signIn) 
    {
        this.signIn = signIn;
    }

    public String getSignIn() 
    {
        return signIn;
    }
    public void setSignInTime(Date signInTime) 
    {
        this.signInTime = signInTime;
    }

    public Date getSignInTime() 
    {
        return signInTime;
    }
    public void setSignInLon(Double signInLon) 
    {
        this.signInLon = signInLon;
    }

    public Double getSignInLon() 
    {
        return signInLon;
    }
    public void setSignInLat(Double signInLat) 
    {
        this.signInLat = signInLat;
    }

    public Double getSignInLat() 
    {
        return signInLat;
    }
    public void setSignInPush(String signInPush) 
    {
        this.signInPush = signInPush;
    }

    public String getSignInPush() 
    {
        return signInPush;
    }
    public void setSignInPushTime(Date signInPushTime) 
    {
        this.signInPushTime = signInPushTime;
    }

    public Date getSignInPushTime() 
    {
        return signInPushTime;
    }
    public void setSignOff(String signOff) 
    {
        this.signOff = signOff;
    }

    public String getSignOff() 
    {
        return signOff;
    }
    public void setSignOffTime(Date signOffTime) 
    {
        this.signOffTime = signOffTime;
    }

    public Date getSignOffTime() 
    {
        return signOffTime;
    }
    public void setSignOffLon(Double signOffLon) 
    {
        this.signOffLon = signOffLon;
    }

    public Double getSignOffLon() 
    {
        return signOffLon;
    }
    public void setSignOffLat(Double signOffLat) 
    {
        this.signOffLat = signOffLat;
    }

    public Double getSignOffLat() 
    {
        return signOffLat;
    }
    public void setSignOffPush(String signOffPush) 
    {
        this.signOffPush = signOffPush;
    }

    public String getSignOffPush() 
    {
        return signOffPush;
    }
    public void setSignOffPushTime(Date signOffPushTime) 
    {
        this.signOffPushTime = signOffPushTime;
    }

    public Date getSignOffPushTime() 
    {
        return signOffPushTime;
    }
    public void setFillInLog(String fillInLog) 
    {
        this.fillInLog = fillInLog;
    }

    public String getFillInLog() 
    {
        return fillInLog;
    }
    public void setFillInLogTime(Date fillInLogTime) 
    {
        this.fillInLogTime = fillInLogTime;
    }

    public Date getFillInLogTime() 
    {
        return fillInLogTime;
    }
    public void setFillInLogPush(String fillInLogPush) 
    {
        this.fillInLogPush = fillInLogPush;
    }

    public String getFillInLogPush() 
    {
        return fillInLogPush;
    }
    public void setFillInLogPushNum(Long fillInLogPushNum) 
    {
        this.fillInLogPushNum = fillInLogPushNum;
    }

    public Long getFillInLogPushNum() 
    {
        return fillInLogPushNum;
    }
    public void setFillInLogPushTime(Date fillInLogPushTime) 
    {
        this.fillInLogPushTime = fillInLogPushTime;
    }

    public Date getFillInLogPushTime() 
    {
        return fillInLogPushTime;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getServiceRole() {
        return serviceRole;
    }

    public void setServiceRole(String serviceRole) {
        this.serviceRole = serviceRole;
    }

    public String getStateCount() {
        return stateCount;
    }

    public void setStateCount(String stateCount) {
        this.stateCount = stateCount;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCountNum() {
        return countNum;
    }

    public void setCountNum(String countNum) {
        this.countNum = countNum;
    }

    public String getPlanIds() {
        return planIds;
    }

    public void setPlanIds(String planIds) {
        this.planIds = planIds;
    }

    public Date getAcceptTime() {
        return acceptTime;
    }

    public void setAcceptTime(Date acceptTime) {
        this.acceptTime = acceptTime;
    }

    public String getDoorInPush() {
        return doorInPush;
    }

    public void setDoorInPush(String doorInPush) {
        this.doorInPush = doorInPush;
    }

    public Date getDoorInPushTime() {
        return doorInPushTime;
    }

    public void setDoorInPushTime(Date doorInPushTime) {
        this.doorInPushTime = doorInPushTime;
    }

    public String getSignInPush1() {
        return signInPush1;
    }

    public void setSignInPush1(String signInPush1) {
        this.signInPush1 = signInPush1;
    }

    public Date getSignInPushTime1() {
        return signInPushTime1;
    }

    public void setSignInPushTime1(Date signInPushTime1) {
        this.signInPushTime1 = signInPushTime1;
    }

    public String getSignOffPush1() {
        return signOffPush1;
    }

    public void setSignOffPush1(String signOffPush1) {
        this.signOffPush1 = signOffPush1;
    }

    public Date getSignOffPushTime1() {
        return signOffPushTime1;
    }

    public void setSignOffPushTime1(Date signOffPushTime1) {
        this.signOffPushTime1 = signOffPushTime1;
    }

    public String getSignOffAutoPush() {
        return signOffAutoPush;
    }

    public void setSignOffAutoPush(String signOffAutoPush) {
        this.signOffAutoPush = signOffAutoPush;
    }

    public Date getSignOffAutoPushTime() {
        return signOffAutoPushTime;
    }

    public void setSignOffAutoPushTime(Date signOffAutoPushTime) {
        this.signOffAutoPushTime = signOffAutoPushTime;
    }

    public String getSignOffPushFlag() {
        return signOffPushFlag;
    }

    public void setSignOffPushFlag(String signOffPushFlag) {
        this.signOffPushFlag = signOffPushFlag;
    }

    public Double getSignOffAutoHour() {
        return signOffAutoHour;
    }

    public void setSignOffAutoHour(Double signOffAutoHour) {
        this.signOffAutoHour = signOffAutoHour;
    }

    @Override
    public String toString() {
        return "PlanDetails{" +
                "id=" + id +
                ", serviceNoticeId=" + serviceNoticeId +
                ", serviceNo='" + serviceNo + '\'' +
                ", fseId='" + fseId + '\'' +
                ", fseName='" + fseName + '\'' +
                ", phoneUuid='" + phoneUuid + '\'' +
                ", isAccept='" + isAccept + '\'' +
                ", refusalReasons='" + refusalReasons + '\'' +
                ", estimatedVisitingTime=" + estimatedVisitingTime +
                ", estimatedWorkingHours='" + estimatedWorkingHours + '\'' +
                ", estimatedDepartureTime=" + estimatedDepartureTime +
                ", isBorrow='" + isBorrow + '\'' +
                ", isDoor='" + isDoor + '\'' +
                ", signIn='" + signIn + '\'' +
                ", signInTime=" + signInTime +
                ", signInLon=" + signInLon +
                ", signInLat=" + signInLat +
                ", signInPush='" + signInPush + '\'' +
                ", signInPushTime=" + signInPushTime +
                ", signOff='" + signOff + '\'' +
                ", signOffTime=" + signOffTime +
                ", signOffLon=" + signOffLon +
                ", signOffLat=" + signOffLat +
                ", signOffPush='" + signOffPush + '\'' +
                ", signOffPushTime=" + signOffPushTime +
                ", fillInLog='" + fillInLog + '\'' +
                ", fillInLogTime=" + fillInLogTime +
                ", fillInLogPush='" + fillInLogPush + '\'' +
                ", fillInLogPushNum=" + fillInLogPushNum +
                ", fillInLogPushTime=" + fillInLogPushTime +
                ", state='" + state + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", serviceRole='" + serviceRole + '\'' +
                ", acceptTime=" + acceptTime +
                ", doorInPush='" + doorInPush + '\'' +
                ", doorInPushTime=" + doorInPushTime +
                ", signInPush1='" + signInPush1 + '\'' +
                ", signInPushTime1=" + signInPushTime1 +
                ", signOffPush1='" + signOffPush1 + '\'' +
                ", signOffPushTime1=" + signOffPushTime1 +
                ", signOffAutoPush='" + signOffAutoPush + '\'' +
                ", signOffAutoPushTime=" + signOffAutoPushTime +
                ", stateCount='" + stateCount + '\'' +
                ", customerName='" + customerName + '\'' +
                ", signOffPushFlag='" + signOffPushFlag + '\'' +
                ", countNum='" + countNum + '\'' +
                ", planIds='" + planIds + '\'' +
                ", subServiceType='" + subServiceType + '\'' +
                ", hopeBusinessHours='" + hopeBusinessHours + '\'' +
                ", signOffAutoHour=" + signOffAutoHour +
                '}';
    }
}
